package com.kongjian.manage.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.kongjian.manage.model.vo.WaterLevelRecordsVO;
import com.kongjian.manage.common.R;
import com.kongjian.manage.model.dto.NewWaterLevelRecordsDTO;
import com.kongjian.manage.model.dto.UpdateWaterLevelRecordsDTO;
import com.kongjian.manage.model.query.WaterLevelRecordsQuery;
import com.kongjian.manage.model.entity.WaterLevelRecordsEntity;

/**
* @author tangjunfeng
* @Classname IWaterLevelRecordsService.java
* @Description 水位记录表service
* @Date 2023-10-20
* @Version V1.0
*/
public interface IWaterLevelRecordsService extends IService<WaterLevelRecordsEntity> {

    /**
    * 分页查询
    * @param query
    * @return
    */
    R<Page> queryPageWaterLevelRecords(WaterLevelRecordsQuery query)  throws Exception;


   /**
     * 根据实体查询VO对象
     * @param id ID
     */
    WaterLevelRecordsVO getByIdWaterLevelRecords(Long id) throws Exception;

   /**
    * 新增
    * @param waterLevelRecordsDTO DTO
    */
    void addWaterLevelRecords(NewWaterLevelRecordsDTO waterLevelRecordsDTO) throws Exception;


   /**
    * 更新
    * @param id ID
    * @param waterLevelRecordsDTO DTO对象
    */
   void modifyWaterLevelRecords(Long id,UpdateWaterLevelRecordsDTO waterLevelRecordsDTO) throws Exception;

   /**
    * 根据ID删除
    * @param id ID
    */
   void deleteWaterLevelRecords(Long id) throws Exception;

   /**
    * 统计
    * @param query 查询实体
    */
   Integer countWaterLevelRecords(WaterLevelRecordsQuery query);

}
